Healers Have To Die
===================

*Change log*
------------

**version 2.1.4 (2013-05-21):**

- Fixed a rare Lua error that would cause '?' to be displayed on human healers'
  symbols instead of their ranks.

- HHTD now Hooks nameplates' base frame instead of hooking the health bar's
  frame. This should make HHTD more tolerant to sub-elements hiding (such as
  hiding the original health bar to gain performances).


**version 2.1.3 (2013-04-15):**

- Enhanced add-on incompatibility detection (when using another add-on
  which modifies nameplates in the wrong way): the nameplate module will disable
  itself instead of displaying wrong information (such as a healer symbol above
  a warrior's nameplate...) because it can't reliably identify nameplates anymore.

  There are many nameplate add-ons around and only a few of them are _not_ coded
  selfishly. Most of these add-ons modify the default nameplates instead of
  making them _invisible_ and creating their own frames. These modifications,
  which are particular to each of these add-ons, prevent HHTD (and any other
  add-ons wanting to use nameplates) from working properly as they can't
  identify and read the nameplates anymore.

  I could have coded around the modifications of a few of these selfish add-ons
  (the most used ones) but I chose not to, it's far better to have their author
  fix them and code responsibly than creating exceptions and bugs for everyone.

  So if you want HHTD to be compatible with your favorite nameplate add-ons,
  just ask their author to do things the right way, it'll be better for everyone.


**version 2.1.2 (2013-04-05):**

- HHTD's nameplate module broke completely whenever someone's nameplate changed
  side (upon mind controls and the likes). Thanks to all the people who helped
  me to diagnose the problem and to test the alpha versions leading to this
  release.

- HHTD will fail more graciously if another add-on is unduly modifying
  Blizzard's nameplates (a message is displayed but no Lua error is thrown).


**version 2.1.1 (2013-03-17):**

- Fix huge compatibility problems with other (selfish) add-ons breaking
  nameplates hooking. This caused HHTD's symbols being displayed above the
  wrong players. HHTD will also denounce these add-ons in the chat so you can
  ask their author to fix them.

- HHTD will also disable its nameplate module when another add-on unilaterally
  modifies nameplate making them unusable for other add-ons. A message will be
  displayed. (FYI: the add-on ["Tidy Plates"][tidyplates] doesn't do this and
  therefore is fully compatible with HHTD)

- Fix automatic healer role setting while in combat which was causing a
  'protected function call' exception pop-up for BG leaders.

- Fix a problem which could lead into healer symbols not being hidden.

- Special thanks to Cegthlhekz who helped a lot by testing the numerous alpha
  versions leading to this release of Healers Have To Die.


**version 2.1.0 (2013-03-06):**

- HHTD no longer relies on LibNamePlate-1.0. The HHTD's NamePlateHooker module
  includes its own highly optimized sub-module (written from scratch) to handle
  nameplates. I might turn this sub-module into a library since LibNamePlate-1.0
  has become too difficult to maintain and would need a complete rewrite. This
  change should translate into an overall gain in performance and reliability for
  HHTD's end users.

- Fix 'Holy Fire' detection.

- Do not display any 'Friendly healer under attack' alert if the healer being
  attacked turns out to be ourself...

- Using AceTimer-3.0 again. 

**version 2.0.4 (2012-12-10):**

- Fix: the chat announcer was no longer working in Battlegrounds

**version 2.0.3 (2012-11-28):**

- Compatible with WoW 5.1

- Removed HHTD's options from the WoW Interface panel since [it causes global UI tainting](http://us.battle.net/wow/en/forum/topic/6713012357). (Fear not, Blizzard might fix this in just a few years).
Until then, just use the command /HHTDG to access HHTD's option panel.

- Fixes a very rare Lua error.


**version 2.0.2 (2012-09-25):**

- Fix a bug where HHTD could crash if an NPC with a hyphen in its name healed.

- Replaced AceTimer-3.0 with LibShefkiTimer-1.0 to fix random 'Script ran too
  long' issues happening with AceTimer's current implementation.


**version 2.0.1 (2012-09-01):**

- Compatible with Mists of Pandaria

- Updated healers' [spell list][spelllist] (including Monk's): specialized
  healers detection should be perfectly accurate now. Do not hesitated to leave
  comments on the [spell list][spelllist] page.

- Fixed bug: 'NamePlateHooker.lua:452: attempt to index field '?' (a nil
  value)' which was caused by the fact that LibNameplate-1.0 fires twice when
  plates are hidden if TidyPlates is used.

- Fixed bug: Healers below the healing threshold could be flagged as healers if
  they were casting spells right after the player had logged in (player's
  maximum health being null at that specific time).

- Fix wrong description for the 'Heal amount threshold' slider which
  incorrectly said that it had no effect in PvP if the 'Healer specialization
  detection' option was checked. This was no longer true since HHTD 2.0.

- Many micro-optimizations in the combat log parser, especially for when the
  PVE option is disabled. The analyzer leaves even earlier in such cases. Not
  that it should have any noticeable impact for any user. However, if you take
  HHTD's user base as a whole, you could probably fry an egg per day with the
  saved power :-) Is this called green programming?

- Added support for [Italian localization][localization]


**version 2.0.0 (2012-06-03):**

- Nameplate markers now include the healer's rank (the lower the number, the better
  the healer).

- Nameplate markers are now resizable and movable (see the 'Name Plate
  Hooker' module's options).

- It's now possible to test how markers look like using the 'Test HHTD's
  behavior on current target' button in the general options (along with other
  HHTD's features).

- HHTD's core has been rewritten and reorganized with all the current features
  in mind making HHTD more effective and reliable.

- The logs have been improved, they are now sorted and include all healing
  spells cast by healers with emphasising for specialised healers' spells.

- The logs can now be disabled if the announcer module is enabled (they are no
  longer linked).

- Improved healer detection for PVP and PVE (faster and more reliable).

- Better handling of multi-instanced units in PVE (especially with nameplate
  markers), 

- Many small improvements and bug fixes.

- Localization is needed, if you want to contribute [you can directlty write your translations using this very link][localization].


**version 1.9.1.2 (2012-01-09):**

- Fix LibNamePlate bug during cutscenes.

**version 1.9.1.1 (2011-11-29):**

- Updated TOC to be compatible with WoW 4.3

**version 1.9.1 (2011-07-04):**

- FIX: Friendly healers were reportedly attacked by their own pets or
  objects...

- Fix: In battleground there is no raid warning channel, HHTD now falls back to raid
  channel in this situation.


**version 1.9.0 (2011-07-03):**

- **New feature:** It's now possible to announce friendly and enemy healers to chat
  for other players to see, you have to enable and configure the messages in
  the 'Announcer' options.

- **New feature:** HHTD will display an alert when a nearby friendly healer is
  being attacked.

- **New feature:** HHTD will automatically apply the HEALER role to detected
  friendly healers (if possible).

- Compatible with WoW 4.2


**version 1.8.4 (2011-04-28):**

- Updated LibNamePlate *again* to *actually* be compatible with WoW 4.1

**version 1.8.3 (2011-04-26):**

- Updated LibNamePlate to be compatible with WoW 4.1

**version 1.8.2 (2011-04-10):**

- *New feature:* Logs are available in HHTD's option panel with detailed information about each detected healers (specific spell used, heal amount, activity state). You must check the 'Logging' option to enable logging and add the 'Logs' tab.

- *Fix:* The 'Minimum Heal Amount' filter was ignored by non-healing specialized spells (buffing spells and such available in healing talent trees).

- Localization updates and fixes, notably for ruRU (thanks to AlexFlexy).

**version 1.8.1 (2011-03-13):**

 - Updated version of LibNamePlate-1.0 (this should fix a Lua error some users experienced)

 - Updated description with links to the official forum threads about HHTD (someone should tell them that only 12,000 people are using HHTD...)

**version 1.8.0 (2011-03-06):**

 - New feature: HHTD now adds the healer role symbol on friendly Healers if allies' name-plates are shown so you can protect your beloved healers and prevent them from being slaughtered!!

 - Changed minimum heal amount to be a percentage of the player maximum health.


**version 1.7.0.1 (2011-02-06):**

 - FIX: PVE healer detection was broken when "Healer specialization detection" option was enabled (all NPCs were detected as healers)

**version 1.7.0 (2011-02-05):**

 - New feature: "Healer specialization detection" option. (thanks to Zalgorr for the spell list)
 - New feature: "Use minimum heal amount filter" option.

 - New command: /hhtdg to open the configuration UI.

 - AceLocale-3.0 library was missing in previous releases preventing HHTD to
   work in certain conditions.
 - Fixes and optimizations.


**version 1.6.0 (2011-01-22):**

 - Healers-Have-To-Die is now useful in PVE, it's able to ring and add crosses over NPC healers' name plates (can be disabled).
 - Multiple fixes to detection algorithm: only actual players or NPCs (if option checked) will be reported as healers. (no longer reporting guardians, pets, etc...)
 - Announcer module: Added an option to disable sounds.
 - Massive code cleanup and re-organization, now using modules for the different add-on parts.
 - Added support for AddonLoader.

 - Localization is needed, if you want to contribute: [http://www.wowace.com/addons/healers-have-to-die/localization/][localization]

**version 1.5.1 (2010-10-26):**

 - HHTD is now able to add a red cross above enemy name plates when they've been caught healing.
 - New option to disable messages printed by HHTD.












[spelllist]: http://www.wowace.com/addons/healers-have-to-die/pages/specialized-healers-spells/
[localization]: http://www.wowace.com/addons/healers-have-to-die/localization/
[tidyplates]: http://www.curse.com/addons/wow/tidy-plates
